             package com.java.diagnostics.visualizer.recommender;
             
             import com.java.diagnostics.visualizer.data.AggregateData;
             import com.java.diagnostics.visualizer.data.TupleData;
             import com.java.diagnostics.visualizer.parser.vgc.constants.VGCAxes;
             import com.java.diagnostics.visualizer.recommender.util.Messages;
             
             public class CalculateGlobalProperties
               extends RecommendationBase
               implements Recommendation
             {
               public void recommend(AggregateData data)
               {
                 TupleData calculatedLiveData = data
                   .getTupleData("VGCLabels.live.normal.heap.after.gc");
                 
                 if (calculatedLiveData == null)
                 {
                   TupleData globalPauseTimeData = data
                     .getTupleData("VGCLabels.pause.times.without.exclusive.access");
                   
                   if (globalPauseTimeData == null) {
                     globalPauseTimeData = 
                       data.getTupleData("VGCLabels.pause.times.with.exclusive.access");
                   }
                   if ((globalPauseTimeData != null) && (!globalPauseTimeData.isEmpty()))
                   {
                     String pauseUnits = VGCAxes.MILLISECONDS;
                     double convertedY = globalPauseTimeData
                       .getMeanY(VGCAxes.MILLISECONDS);
                     
                     addToSummary(data, 
                       Messages.getString("mean.pause", new Object[] { pauseUnits }), new Double(convertedY));
                   }
                 }
               }
             }


